<?php

/**
 * agenda actions.
 *
 * @package    nogoya
 * @subpackage agenda
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 2692 2006-11-15 21:03:55Z fabien $
 */
class agendaActions extends sfActions
{
  /**
   * Executes index action
   *
   */
  public function executeIndex(){
    $this->vista = $this->getRequestParameter("vista");
    $this->hora_inicio = sfConfig::get("app_hora_inicio");
    $this->hora_cierre = sfConfig::get("app_hora_cierre");
    // el estudio y el rango horario
    $this->estudio = EstudioPeer::retrieveByPk($this->getRequestParameter("estudio_id"));
    $this->rango_horario = ($this->estudio ) ? $this->estudio->getDuracion() : sfConfig::get("app_rango_horario");
    // los turnos cargados
    $turnos = TurnoPeer::getActuales($this->getRequestParameter("medico_id"),$this->getRequestParameter("estudio_id"));
    $this->turnos = $turnos;
    // turnos mensuales
    $sql= TurnoPeer::getSqlTotalesPorDia($this->getRequestParameter("medico_id"),$this->getRequestParameter("estudio_id"));
    $con = Propel::getConnection();
    $stmt = $con->prepareStatement($sql);
    $rs = $stmt->executeQuery();
    $aTotales = array();
    while ($rs->next()){
      $aTotales[$rs->getString("dia")] = array("sobreturno"=>$rs->getInt("sobreturno"),"turno"=>$rs->getInt("turno"));
    }
    $this->aTotales = $aTotales;
  }
  public function executeAgenda() {
    $this->vista = $this->getRequestParameter("vista","m");
    $this->anio = $this->getRequestParameter("anio",date("Y"));
    $this->mes = $this->getRequestParameter("mes",date("m"));
    $this->dia = $this->getRequestParameter("dia",date("d"));
    $this->componente = $this->_getComponente();
  }
  private function _getComponente(){
    switch ($this->vista) {
      case "m":
      default: $nombre = "mensual";break;
      case "s": $nombre = "semanal"; break;
      case "d": $nombre = "diario"; break;
    }
    return $nombre;
  }
}
